<script>
  // 问题，每次携带 Authorization 玛法，怎么解决。
  /* wx.request({
    header: {
      Authorization: 'Bearer xxx',
    },
  })
  wx.request({
    header: {
      Authorization: 'Bearer xxx',
    },
  }) */

  function Request() {
    // 实例对象
    this.header = {}
  }
  Request.prototype.get = function () {
    // 每次发请求前调用 this.beforeRequest 并把 this 实例传递到此方法中
    this.beforeRequest(this)
    this._()
  }
  Request.prototype._ = function () {
    wx.request({
      // 后续通过 this.header 就能生效了呀
      header: this.header,
      success: () => {
        this.afterRequest()
      },
    })
  }
  const $http = new Request()

  // 希望这样写以后
  $http.beforeRequest = function (_this) {
    // 此方法往 _this.header 上挂到内容
    _this.header = {
      Authorization: 'Bearer xxx',
    }
  }
  $http.afterRequest = function () {
    // 此方法往 _this.header 上挂到内容
    console.log(1)
  }
  // 后面每次请求都能携带 header
  $http.get()
  $http.get()
</script>
